<FrameworkSwitchCourse {fw} />

# နိဒါန်း[[introduction]]

<CourseFloatingBanner
    chapter={3}
    classNames="absolute z-10 right-0 top-0"
/>

[Chapter 2](/course/chapter2) မှာ ကျွန်တော်တို့ဟာ tokenizers တွေနဲ့ pre-trained models တွေကို အသုံးပြုပြီး predictions တွေ ဘယ်လိုလုပ်ရမယ်ဆိုတာကို လေ့လာခဲ့ပါတယ်။ ဒါပေမယ့် သီးခြားလုပ်ငန်းတစ်ခုကို ဖြေရှင်းဖို့အတွက် pre-trained model တစ်ခုကို fine-tune လုပ်ချင်တယ်ဆိုရင်ကော။ ဒါက ဒီအခန်းရဲ့ အကြောင်းအရာပါပဲ။ သင်ဟာ အောက်ပါတို့ကို သင်ယူရပါလိမ့်မယ်-

*   နောက်ဆုံးပေါ် 🤗 Datasets features တွေကို အသုံးပြုပြီး Hub ကနေ ကြီးမားတဲ့ dataset တစ်ခုကို ဘယ်လိုပြင်ဆင်ရမလဲ
*   ခေတ်မီအကောင်းဆုံး အလေ့အကျင့်တွေနဲ့ model တစ်ခုကို fine-tune လုပ်ဖို့ high-level `Trainer` API ကို ဘယ်လိုအသုံးပြုရမလဲ
*   optimization နည်းစနစ်တွေနဲ့ custom training loop တစ်ခုကို ဘယ်လို implement လုပ်ရမလဲ
*   မည်သည့် setup ပေါ်မှာမဆို distributed training ကို အလွယ်တကူ run နိုင်ဖို့ 🤗 Accelerate library ကို ဘယ်လိုအသုံးချရမလဲ
*   အမြင့်ဆုံး performance အတွက် လက်ရှိ fine-tuning အကောင်းဆုံး အလေ့အကျင့်တွေကို ဘယ်လိုအသုံးချရမလဲ

> [!TIP]
> 📚 **မရှိမဖြစ် လိုအပ်သော အရင်းအမြစ်များ**: မစတင်မီ၊ data processing အတွက် [🤗 Datasets documentation](https://huggingface.co/docs/datasets/) ကို ပြန်လည်လေ့လာနိုင်ပါတယ်။

ဒီအခန်းက 🤗 Transformers library အပြင် အချို့ Hugging Face libraries တွေကိုပါ မိတ်ဆက်ပေးပါလိမ့်မယ်။ 🤗 Datasets, 🤗 Tokenizers, 🤗 Accelerate, နဲ့ 🤗 Evaluate လို libraries တွေက models တွေကို ပိုမိုထိရောက်ပြီး အကျိုးရှိရှိ train လုပ်ဖို့ ဘယ်လိုကူညီပေးနိုင်တယ်ဆိုတာကို ကျွန်တော်တို့ တွေ့မြင်ရပါလိမ့်မယ်။

ဒီအခန်းရဲ့ အဓိကအပိုင်းတစ်ခုစီက သင့်ကို မတူညီတဲ့အရာတွေကို သင်ကြားပေးပါလိမ့်မယ်-
-   **အပိုင်း ၂**: ခေတ်မီ data preprocessing နည်းစနစ်တွေနဲ့ ထိရောက်တဲ့ dataset handling တွေကို သင်ယူပါ။
-   **အပိုင်း ၃**: သူ့ရဲ့ နောက်ဆုံးပေါ် features အားလုံးနဲ့ အစွမ်းထက်တဲ့ Trainer API ကို ကျွမ်းကျင်အောင် လေ့လာပါ။
-   **အပိုင်း ၄**: training loops တွေကို အစကနေ implement လုပ်ပြီး Accelerate နဲ့ distributed training ကို နားလည်ပါ။

ဒီအခန်းရဲ့ အဆုံးမှာတော့ သင်ဟာ high-level APIs နဲ့ custom training loops နှစ်ခုလုံးကို အသုံးပြုပြီး၊ နယ်ပယ်ရဲ့ နောက်ဆုံးပေါ် အကောင်းဆုံး အလေ့အကျင့်တွေကို အသုံးချကာ သင်ကိုယ်ပိုင် datasets တွေနဲ့ လုပ်ငန်းတွေပေါ်မှာ models တွေကို fine-tune လုပ်နိုင်ပါလိမ့်မယ်။

> [!TIP]
> 🎯 **သင် တည်ဆောက်မည့်အရာ**: ဒီအခန်းရဲ့ အဆုံးမှာ သင်ဟာ text classification အတွက် BERT model တစ်ခုကို fine-tune လုပ်ပြီး၊ သင်၏ datasets တွေနဲ့ လုပ်ငန်းတွေအတွက် ဒီနည်းစနစ်တွေကို ဘယ်လို လိုက်လျောညီထွေဖြစ်အောင် အသုံးချရမလဲဆိုတာကို နားလည်လာပါလိမ့်မယ်။

ဒီအခန်းက **PyTorch** ကိုသာ သီးသန့်အာရုံစိုက်ထားပါတယ်၊ ဘာလို့လဲဆိုတော့ ဒါက ခေတ်မီ deep learning သုတေသနနဲ့ production အတွက် standard framework တစ်ခု ဖြစ်လာလို့ပါပဲ။ Hugging Face ecosystem ရဲ့ နောက်ဆုံးပေါ် APIs နဲ့ အကောင်းဆုံး အလေ့အကျင့်တွေကို ကျွန်တော်တို့ အသုံးပြုပါမယ်။

သင့်ရဲ့ train လုပ်ထားတဲ့ models တွေကို Hugging Face Hub ကို upload လုပ်ဖို့အတွက် Hugging Face account တစ်ခု လိုအပ်ပါလိမ့်မယ်- [account တစ်ခု ဖန်တီးပါ](https://huggingface.co/join)

## ဝေါဟာရ ရှင်းလင်းချက် (Glossary)

*   **Fine-tune**: ကြိုတင်လေ့ကျင့်ထားပြီးသား (pre-trained) မော်ဒယ်တစ်ခုကို သီးခြားလုပ်ငန်းတစ်ခု (specific task) အတွက် အနည်းငယ်သော ဒေတာနဲ့ ထပ်မံလေ့ကျင့်ပေးခြင်းကို ဆိုလိုပါတယ်။
*   **Pretrained Models**: ဒေတာအမြောက်အမြားပေါ်တွင် ကြိုတင်လေ့ကျင့်ထားပြီးသား Artificial Intelligence (AI) မော်ဒယ်များ။
*   **Predictions**: Machine Learning မော်ဒယ်တစ်ခုက input data ကို အခြေခံပြီး ခန့်မှန်းထုတ်ပေးသော ရလဒ်များ။
*   **Dataset**: AI မော်ဒယ်တွေ လေ့ကျင့်ဖို့အတွက် အသုံးပြုတဲ့ ဒေတာအစုအဝေးတစ်ခုပါ။
*   **Hugging Face Hub**: AI မော်ဒယ်တွေ၊ datasets တွေနဲ့ demo တွေကို အခြားသူတွေနဲ့ မျှဝေဖို့၊ ရှာဖွေဖို့နဲ့ ပြန်လည်အသုံးပြုဖို့အတွက် အွန်လိုင်း platform တစ်ခု ဖြစ်ပါတယ်။
*   **🤗 Datasets**: Hugging Face က ထုတ်လုပ်ထားတဲ့ library တစ်ခုဖြစ်ပြီး AI မော်ဒယ်တွေ လေ့ကျင့်ဖို့အတွက် ဒေတာအစုအဝေး (datasets) တွေကို လွယ်လွယ်ကူကူ ဝင်ရောက်ရယူ၊ စီမံခန့်ခွဲပြီး အသုံးပြုနိုင်စေပါတယ်။
*   **`Trainer` API**: 🤗 Transformers library မှာ ပါဝင်တဲ့ high-level API တစ်ခုဖြစ်ပြီး Transformer models တွေကို အလွယ်တကူ လေ့ကျင့်ပြီး fine-tune လုပ်နိုင်စေပါတယ်။
*   **Best Practices**: နယ်ပယ်တစ်ခုအတွင်း လုပ်ဆောင်မှုများကို ထိရောက်ပြီး အကျိုးရှိစေရန် အကောင်းဆုံးနည်းလမ်းများ။
*   **Custom Training Loop**: model တစ်ခုကို လေ့ကျင့်ရန်အတွက် ကိုယ်တိုင်ရေးသားထားသော code loop။
*   **Optimization Techniques**: model လေ့ကျင့်မှုကို ပိုမိုမြန်ဆန်စေရန် သို့မဟုတ် ပိုမိုထိရောက်စေရန် အသုံးပြုသော နည်းလမ်းများ။
*   **🤗 Accelerate Library**: Hugging Face က ထုတ်လုပ်ထားတဲ့ library တစ်ခုဖြစ်ပြီး PyTorch code တွေကို မတူညီတဲ့ training environment (ဥပမာ - GPU အများအပြား၊ distributed training) တွေမှာ အလွယ်တကူ run နိုင်အောင် ကူညီပေးပါတယ်။
*   **Distributed Training**: model တစ်ခုကို ကွန်ပျူတာ သို့မဟုတ် GPU များစွာကို အသုံးပြုပြီး အပြိုင် လေ့ကျင့်ခြင်း။
*   **🤗 Tokenizers**: Hugging Face က ထုတ်လုပ်ထားတဲ့ library တစ်ခုဖြစ်ပြီး စာသားတွေကို AI မော်ဒယ်တွေ နားလည်နိုင်တဲ့ ပုံစံ (tokens) တွေအဖြစ် ပြောင်းလဲပေးတဲ့ လုပ်ငန်းစဉ် (tokenization) ကို မြန်ဆန်ထိရောက်စွာ လုပ်ဆောင်ပေးပါတယ်။
*   **🤗 Evaluate**: Hugging Face မှ machine learning models များ၏ စွမ်းဆောင်ရည်ကို တိုင်းတာရန်အတွက် metrics များနှင့် evaluation components များကို ပံ့ပိုးပေးသော library။
*   **BERT Model**: Google က ဖန်တီးခဲ့သော Transformer-based language model တစ်ခု။
*   **Text Classification**: စာသားတစ်ခုကို ကြိုတင်သတ်မှတ်ထားသော အမျိုးအစားများအဖြစ် ခွဲခြားသတ်မှတ်ခြင်း။
*   **PyTorch**: Facebook (ယခု Meta) က ဖန်တီးထားတဲ့ open-source machine learning library တစ်ခုဖြစ်ပြီး deep learning မော်ဒယ်တွေ တည်ဆောက်ဖို့အတွက် အသုံးပြုပါတယ်။
*   **Deep Learning**: Machine Learning ရဲ့ နယ်ပယ်ခွဲတစ်ခုဖြစ်ပြီး neural networks တွေကို အသုံးပြုကာ ဒေတာတွေကနေ ရှုပ်ထွေးတဲ့ ပုံစံတွေကို သင်ယူစေပါတယ်။
*   **Hugging Face Account**: Hugging Face ပလက်ဖောင်းပေါ်ရှိ သုံးစွဲသူအကောင့်။
*   **Data Preprocessing**: Raw data ကို machine learning model တစ်ခုက လုပ်ဆောင်နိုင်ရန် ပြင်ဆင်ခြင်း။
*   **Dataset Handling**: Dataset များကို စီမံခန့်ခွဲခြင်းနှင့် အသုံးပြုခြင်း။